package oopday03;
//此类是用于验证匿名内部类的测试Demo
//若想创建一个子类对象，并且对象只创建一次，可以设计为匿名内部类，可以大大简化代码
public class AnonInterClassDemo {
    public static void main(String[] args) {
        //2.1创建一个Inter的子类，但是没有名字(匿名内部类）
        //为该匿名内部类创建一个对象，赋值给Inter类型的o1（向上造型，接口的引用指向了子类对象）
        Inter o1=new Inter() {};
        //2.2 再创建一个Inter的子类，但是没有名字（匿名内部类）
        //为该匿名内部类创建一个对象，赋值给INter类型的o2（向上造型，接口的引用指向了子类对象）
        Inter o2=new Inter() {};
        System.out.println(o1);
        System.out.println(o2);

        //3.1 创建一个INterINter的子类，但是没有名字（匿名内部类）
        //3.2 为该匿名内部类创建一个对象，赋值给INterInter类型的o2（向上造型，接口的引用指向了子类
        //注：｛｝就是子类（匿名内部类）的类体
        InterInter o3=new InterInter() {
            //重写抽象方法，需要加上public
            public void show(){
                System.out.println("showshow");
            }
        };
        o3.show();

        InterInter o4=new InterInter() {
            public void show(){}
        };
    }
}

//3.创建一个名为InterInter的接口
interface InterInter{
    public abstract void show();
}
//创建一个名为Inter的接口
interface Inter{

}